package com.lyn.policy.service;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.springframework.stereotype.Service;

import com.jfinal.kit.Kv;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.SqlPara;
import com.lyn.common.kit.RandomKit;
import com.lyn.common.kit.SqlKit;
import com.lyn.common.model.Result;
import com.lyn.common.model.ResultList;
import com.lyn.policy.domain.PolicyDoc;

@Service
public class PolicyDocService {
	
	public List<PolicyDoc> select1(String deptname, String name) { 
		String sql = PolicyDoc.dao.getSql("doc.select1");
		List<PolicyDoc> policyDoc = PolicyDoc.dao.find(sql, deptname, name);
		return policyDoc;
	}
	
	public List<PolicyDoc> select2(Integer no, Integer authorId, Integer pageNumber, Integer pageSize) { 
		SqlPara sqlPara = PolicyDoc.dao.getSqlPara("doc.select2", no, authorId);
		Page<PolicyDoc> policyDoc = PolicyDoc.dao.paginate(pageNumber, pageSize, sqlPara);
		return policyDoc.getList();
	}
	
	public List<PolicyDoc> select3(String deptname, Integer no, Integer pageNumber, Integer pageSize) {
		Kv cond = Kv.by("deptname", deptname).set("no", no);
		SqlPara sqlPara = PolicyDoc.dao.getSqlPara("doc.select3", cond);
		Page<PolicyDoc> policyDoc = PolicyDoc.dao.paginate(pageNumber, pageSize, sqlPara);
		return policyDoc.getList();
	}
	
	public List<PolicyDoc> selectLike(String deptname, Integer pageNumber, Integer pageSize) {
		Kv cond = Kv.by("deptname", deptname);
		SqlPara sqlPara = PolicyDoc.dao.getSqlPara("doc.selecctLike", cond);
		Page<PolicyDoc> policyDoc = PolicyDoc.dao.paginate(pageNumber, pageSize, sqlPara);
		return policyDoc.getList();
	}
	
	public List<PolicyDoc> selectIn(String ids, Integer pageNumber, Integer pageSize) {
		String[] arr = ids.split(",");
		Kv cond = Kv.by("ids", arr);
		SqlPara sqlPara = PolicyDoc.dao.getSqlPara("doc.selectIn", cond);
		Page<PolicyDoc> policyDoc = PolicyDoc.dao.paginate(pageNumber, pageSize, sqlPara);
		return policyDoc.getList();
	}
	
	public List<PolicyDoc> selectWhere(String deptname, String name, Integer pageNumber, Integer pageSize) {
		Kv cond = Kv.by("deptname", deptname).set("name", name);
		SqlPara sqlPara = PolicyDoc.dao.getSqlPara("doc.selectWhere", Kv.by("cond", cond));
		Page<PolicyDoc> page = PolicyDoc.dao.paginate(pageNumber, pageSize, sqlPara);
		return page.getList();
	}
	
	public String update(String content, String deptname, Integer no) {
		Kv cond = Kv.by("content", content).set("deptname", deptname).set("no", no);
		SqlPara sqlPara = PolicyDoc.dao.getSqlPara("doc.update", cond);
		int count = Db.update(sqlPara);
		return count>0?"更新成功":"更新失败";
	}
	
}
